package com.ruoyi.zuzhi.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 职位管理对象 position
 * 
 * @author lgr
 * @date 2025-05-30
 */
public class Position extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 职位ID，主键 */
    private Long id;

    /** 职位名称，如：Java开发工程师 */
    @Excel(name = "职位名称，如：Java开发工程师")
    private String posName;

    /** 职位编码 */
    @Excel(name = "职位编码")
    private String posCode;

    /** 职位概述，描述职位主要职责 */
    @Excel(name = "职位概述，描述职位主要职责")
    private String overview;

    /** 职位等级，如：P6、M2等 */
    @Excel(name = "职位等级，如：P6、M2等")
    private String level;

    /** 职位类别ID，关联职位类别表 */
    private Long categoryId;

    /** 删除标志（0代表存在 2代表删除） */
    private Long delFlag;

    /** 记录创建时间 */
    private Date createdAt;

    /** 记录最后更新时间 */
    private Date updatedAt;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public void setPosName(String posName) 
    {
        this.posName = posName;
    }

    public String getPosName() 
    {
        return posName;
    }

    public void setPosCode(String posCode) 
    {
        this.posCode = posCode;
    }

    public String getPosCode() 
    {
        return posCode;
    }

    public void setOverview(String overview) 
    {
        this.overview = overview;
    }

    public String getOverview() 
    {
        return overview;
    }

    public void setLevel(String level) 
    {
        this.level = level;
    }

    public String getLevel() 
    {
        return level;
    }

    public void setCategoryId(Long categoryId) 
    {
        this.categoryId = categoryId;
    }

    public Long getCategoryId() 
    {
        return categoryId;
    }

    public void setDelFlag(Long delFlag) 
    {
        this.delFlag = delFlag;
    }

    public Long getDelFlag() 
    {
        return delFlag;
    }

    public void setCreatedAt(Date createdAt) 
    {
        this.createdAt = createdAt;
    }

    public Date getCreatedAt() 
    {
        return createdAt;
    }

    public void setUpdatedAt(Date updatedAt) 
    {
        this.updatedAt = updatedAt;
    }

    public Date getUpdatedAt() 
    {
        return updatedAt;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("posName", getPosName())
            .append("posCode", getPosCode())
            .append("overview", getOverview())
            .append("level", getLevel())
            .append("categoryId", getCategoryId())
            .append("delFlag", getDelFlag())
            .append("createdAt", getCreatedAt())
            .append("updatedAt", getUpdatedAt())
            .toString();
    }
}
